package br.com.mackinvest.model;

import java.io.Serializable;
import java.util.Set;

public class Cliente implements Serializable {
 
	private static final long serialVersionUID = 6546314822459554543L;

	private int id;
	 
	private String nome;
	 
	private transient ContaCorrente contaCorrente;
	
	private int id_contaCorrente;
	 
	private transient Set<SaldosInvestimento> saldosInvestimento;
	
	private transient boolean persistido = false;
	
	public Cliente(){}

	public Cliente(int id, String nome) {
		this.id = id;
		this.nome = nome;
		this.contaCorrente = new ContaCorrente();
	}
	
	public Cliente(int id, String nome, Set<SaldosInvestimento> saldosInvestimentos) {
		this.id = id;
		this.nome = nome;
		this.saldosInvestimento = saldosInvestimentos;
		this.contaCorrente = new ContaCorrente();
	}
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public ContaCorrente getContaCorrente() {
		return contaCorrente;
	}

	public void setContaCorrente(ContaCorrente contaCorrente) {
		this.contaCorrente = contaCorrente;
	}

	public Set<SaldosInvestimento> getSaldosInvestimento() {
		return saldosInvestimento;
	}

	public void setSaldosInvestimento(Set<SaldosInvestimento> saldosInvestimento) {
		this.saldosInvestimento = saldosInvestimento;
	}
	
	

	public int getId_contaCorrente() {
		return id_contaCorrente;
	}

	public void setId_contaCorrente(int id_contaCorrente) {
		this.id_contaCorrente = id_contaCorrente;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Cliente other = (Cliente) obj;
		if (id != other.id)
			return false;
		return true;
	}

	public boolean isPersistido() {
		return persistido;
	}

	public void setPersistido(boolean persistido) {
		this.persistido = persistido;
	}

	
	 
}
 
